private subroutine SnowParameterUpdate(time)
update parameter map that change in time
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(DateTime),
|
intent(in) |
|
|
:: |
time |
|
Variables
Type |
Visibility | Attributes |
|
Name |
| Initial | |
character(len=300),
|
public |
|
:: |
filename |
|
|
|
character(len=300),
|
public |
|
:: |
varname |
|
|
|
Source Code
SUBROUTINE SnowParameterUpdate &
!
(time)
IMPLICIT NONE
!Arguments with intent(in):
TYPE (DateTime), INTENT (IN) :: time
!local declarations:
CHARACTER (LEN = 300) :: filename
CHARACTER (LEN = 300) :: varname
!------------------------------end of declarations-----------------------------
!melt coefficient
IF ( time == meltCoefficient % next_time ) THEN
!destroy current grid
filename = meltCoefficient % file_name
varname = meltCoefficient % var_name
CALL GridDestroy (meltCoefficient)
!read new grid in netcdf file
CALL NewGrid (meltCoefficient, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
!melt temperature
IF ( time == meltTemperature % next_time ) THEN
!destroy current grid
filename = meltTemperature % file_name
varname = meltTemperature % var_name
CALL GridDestroy (meltTemperature)
!read new grid in netcdf file
CALL NewGrid (meltTemperature, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
!upper temperature
IF ( time == upperTemperature % next_time ) THEN
!destroy current grid
filename = upperTemperature % file_name
varname = upperTemperature % var_name
CALL GridDestroy (upperTemperature)
!read new grid in netcdf file
CALL NewGrid (upperTemperature, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
!lower temperature
IF ( time == lowerTemperature % next_time ) THEN
!destroy current grid
filename = lowerTemperature % file_name
varname = lowerTemperature % var_name
CALL GridDestroy (lowerTemperature)
!read new grid in netcdf file
CALL NewGrid (lowerTemperature, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
!hydraulic conductivity
IF ( time == snowConductivity % next_time ) THEN
!destroy current grid
filename = snowConductivity % file_name
varname = snowConductivity % var_name
CALL GridDestroy (snowConductivity)
!read new grid in netcdf file
CALL NewGrid (snowConductivity, TRIM(filename), NET_CDF, &
variable = TRIM(varname), time = time)
END IF
RETURN
END SUBROUTINE SnowParameterUpdate